.TH "ZIP_CLOSE" "3" "February 13, 2012" "NiH" "Library Functions Manual"
.nh
.if n .ad l
.SH "NAME"
\fBzip_close\fR
\- close zip archive
.SH "LIBRARY"
libzip (-lzip)
.SH "SYNOPSIS"
\fB#include <zip.h>\fR
.sp
\fIint\fR
.br
\fBzip_close\fR(\fIstruct zip *archive\fR);
.SH "DESCRIPTION"
The
\fBzip_close\fR()
function closes
\fIarchive\fR
and frees the memory allocated for it.
If any files within were changed, those changes are written to disk
first.
If writing changes fails,
\fBzip_close\fR()
fails and
\fIarchive\fR
is left unchanged.
If
\fIarchive\fR
contains no files, the file is completely removed (no empty archive is
written).
.PP
To close a zip file without saving changes, use
zip_discard(3).
.SH "RETURN VALUES"
Upon successful completion 0 is returned.
Otherwise, \-1 is returned and the error code in
\fIarchive\fR
is set to indicate the error.
.SH "ERRORS"
\fBzip_close\fR()
will fail if:
.TP 19n
[\fRZIP_ER_EOF\fR]
Unexpected end-of-file found while reading from a file.
.TP 19n
[\fRZIP_ER_INTERNAL\fR]
The callback function of an added or replaced file returned an
error but failed to report which.
.TP 19n
[\fRZIP_ER_INVAL\fR]
The
\fIpath\fR
argument is
\fRNULL\fR.
.TP 19n
[\fRZIP_ER_MEMORY\fR]
Required memory could not be allocated.
.TP 19n
[\fRZIP_ER_NOZIP\fR]
File is not a zip archive.
.TP 19n
[\fRZIP_ER_READ\fR]
A file read failed.
.TP 19n
[\fRZIP_ER_RENAME\fR]
A temporary file could not be renamed to its final name.
.TP 19n
[\fRZIP_ER_SEEK\fR]
A file seek failed.
.TP 19n
[\fRZIP_ER_TMPOPEN\fR]
A temporary file could not be created.
.TP 19n
[\fRZIP_ER_WRITE\fR]
A file write failed.
.TP 19n
[\fRZIP_ER_ZLIB\fR]
An error occurred while (de)compressing a stream with
zlib(3).
.PD 0
.PP
Additionally, any errors returned by the callback function
for added or replaced files will be passed back.
.PD
.SH "SEE ALSO"
libzip(3),
zip_discard(3),
zip_error_get(3),
zip_fdopen(3),
zip_open(3),
zip_strerror(3)
.SH "AUTHORS"
Dieter Baron <\fIdillo@nih.at\fR>
and
Thomas Klausner <\fItk@giga.or.at\fR>
